package com.feng.zshop.backend.service;

import com.feng.zshop.backend.dto.ProductDTO;
import com.feng.zshop.backend.param.ProductParam;
import com.feng.zshop.model.Product;
import org.apache.commons.fileupload.FileUploadException;

import java.util.List;

/**
 * @author Lee
 * @date 2019/2/17
 */
public interface ProductService {

    /**
     * 保存商品
     * @param productDTO
     */
    void saveProduct(ProductDTO productDTO) throws FileUploadException;

    /**
     * 更具id 获取产品信息
     * @param id
     * @return
     */
    Product getProductById(Integer id);

    /**
     * 检查产品名称是否可用
     * @param name
     * @return
     */
    boolean checkName(String name);

    /**
     * 查询所有商品记录
     * @return
     */
    List<Product> findAll();

    /**
     * 更新产品
     * @param product
     * @return
     */
    void updateProduct(ProductDTO productDTO) throws FileUploadException;

    /**
     * 更具产品id删除产品
     * @param id
     * @return
     */
    void deleteProductById(Integer id);

    List<Product> getByParam(ProductParam productParam);
}
